perm filename REVERS.LSP[W82,JMC] blob sn#635473 filedate 1982-01-21 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	revers.lsp[w82,jmc]	Axioms and proofs involving reverse
C00011 ENDMK
C⊗;
;;;revers.lsp[w82,jmc]	Axioms and proofs involving reverse
(wipe-out)
(get-proofs lispax)
(proof revers)
(context lispax#1:*)

(decl rev1 |ground⊗ground → ground| constant)
(axiom |∀u v. rev1(u,v) = if null u then v else rev1(cdr u, car u ~ v)|)
(lname definfo)

(∀e phi |λu.∀v.rev1(u,v) = reverse u * v| listinduction
|nil*([1#1#1]($definfo*nil*$definfo*nil*$definfo**simpinfo*nil))
*nil*([1#1#2](&definfo*nil**simpinfo*nil))
*nil| sortinfo)

(assume |∀v.rev1(u,v)=reverse u * v|)

(trw |rev1(u,x~v)| |-1| sortinfo)

(∀i v)

(ci -3 -1)

(∀i (x u))

(rw  4 |$9*nil|)